#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e3+5;
int arra[N][N]={0};
int arrb[N][N]={0};

int main(){
  int m,n,q;
  cin>>m>>n>>q;
  for(int i=1;i<=n;i++){
    for(int j=1;j<=m;j++){
      cin>>arra[i][j];
      arrb[i][j]=arra[i][j]+arrb[i][j-1]+arrb[i-1][j]-arrb[i-1][j-1];
    }
  }
  while(q--){
    int x1,y1,x2,y2;
    cin>>x1>>y1>>x2>>y2;
    cout<<arrb[x2][y2]-arrb[x1-1][y2]-arrb[x2][y1-1]+arrb[x1-1][y1-1];
  }

  return 0;
}


//题目：子矩阵的和
//
//描述：
//输入一个长度为n行m列的矩阵。接下来再输入q个询问，每个询问输入四个整数x1, y2, x2, y2，分别表示一个子矩阵的左上角和右下角坐标。对于每个询问，要求输出子矩阵中的所有元素之和。
//输入格式
//第1行，n, m, q          0≤n,m≤100000
//接下来n行，每行m个数，表示矩阵元素
//接下来q行，每行4个数x1, y2, x2, y2，表示一组询问
//输出格式
//q行，每行1个数，对应询问的结果。
//输入样例
// 4 4 1
// 1 2 11 12
// 3 4 13 14
// 5 6 15 16
// 7 8 17 18
// 1 1 2 2
//输出样例
//10